package com.ruoyi.experiment.service;

import com.ruoyi.experiment.domain.Experiment;
import com.ruoyi.experiment.domain.Project;
import com.ruoyi.experiment.domain.Sample;
import com.ruoyi.experiment.model.EProject;
import com.ruoyi.experiment.model.ExperimentFlume;

import java.util.List;

public interface IExperimentService {
    List<Long> selectNoFlumeExperiments(Long id);
    List<Long> selectNoFlumeProjects(Long id);

    List<EProject> selectAllItem(Project project);

    List<Sample> selectSamples(Sample sample);

    boolean callForSample(List<Sample> sample);

    boolean flume(ExperimentFlume flume);

    /**
     * 查询实验管理
     *
     * @param sampleId 实验管理主键
     * @return 实验管理
     */
    public Experiment selectExperimentBySampleId(Long sampleId);

    /**
     * 查询实验管理列表
     *
     * @param experimentalManagement 实验管理
     * @return 实验管理集合
     */
    public List<Experiment> selectExperimentalManagementList(Experiment experimentalManagement);

    /**
     * 新增实验管理
     *
     * @param experimentalManagement 实验管理
     * @return 结果
     */
    public int insertExperimentalManagement(Experiment experimentalManagement);

    /**
     * 修改实验管理
     *
     * @param experimentalManagement 实验管理
     * @return 结果
     */
    public int updateExperimentalManagement(Experiment experimentalManagement);

    /**
     * 删除实验管理
     *
     * @param sampleId 需要删除的实验管理主键集合
     * @return 结果
     */
    public int deleteExperimentalManagementBySampleId(Long sampleId);

    Sample selectSampleById(Long id);
}
